package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/*
作用；可以使用更简洁的代码实现匿名内部类
规则；
1）不是任何匿名内部类都可以转换lambda表达式
2）lambda表达式对接口的要求；只能是函数式接口
3）函数式接口；接口中要求实现类必须重写的方法只有一个
语法、
（参数列表）->{方法体}
 */
//匿名表达式，匿名内部类
public class LambdaDemo {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        //匿名内部类方法
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o1.length()-o2.length();
            }
        });
        //lambda表达/改变第一步
        Collections.sort(list,(String o1, String o2) ->{
                return o1.length()-o2.length();

        });
        //lambda表达式、改变第二步
        Collections.sort(list, (o1,o2)-> o1.length()-o2.length());
        Collections.sort(list,(o1, o2) -> o1.length()-o2.length());
        Collections.sort(list,(o1, o2) -> o1.length()-o2.length());







    }
}
